/**
 * @author Alexander Farkas
 * v. 1.21
 * upg to jQuery-1.6 by plzkn
 */
;
(function($){
    if(!document.defaultView||!document.defaultView.getComputedStyle){//IE6-IE8
        var oldCurCSS = jQuery.curCSS
        jQuery.curCSS = function(elem,name,force){
            if(name === 'background-position')
                name='backgroundPosition'
            if(name!=='backgroundPosition'||!elem.currentStyle||elem.currentStyle[name])
                return oldCurCSS.apply(this,arguments)
            var style=elem.style
            if (!force&&style&&style[name])
                return style[name]
            return oldCurCSS(elem,'backgroundPositionX',force)+' '+oldCurCSS(elem,'backgroundPositionY',force)
        }
    }
	
    function toObj(s){
        var r=s
        .replace(/center/g,'50%')
        .replace(/left|top/g,'0px')
        .replace(/right|bottom/g,'100%')
        .replace(/([0-9\.]+)(\s|\)|$)/g,"$1px$2")
        .match(/(-?[0-9\.]+)(px|\%|em|pt)\s(-?[0-9\.]+)(px|\%|em|pt)/)
        return {
            x:r[1],
            y:r[3],
            xu:r[2],
            yu:r[4]
        }
    }
	
    $.fx.step.backgroundPosition=function(fx){
        if(!fx.bgPosObj)
            fx.bgPosObj={
                from:toObj($.curCSS(fx.elem,'backgroundPosition')),
                to:toObj(fx.end)
            }
        fx.elem.style.backgroundPosition=(
            parseInt(fx.bgPosObj.from.x/1+(fx.bgPosObj.to.x-fx.bgPosObj.from.x)*fx.pos)
            +fx.bgPosObj.to.xu
            +' '
            +parseInt(fx.bgPosObj.from.y/1+(fx.bgPosObj.to.y-fx.bgPosObj.from.y)*fx.pos)
            +fx.bgPosObj.to.yu
            )
    }
})(jQuery)